package com.dearbinge.data.api.commodity;

import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.commodity.vo.CommodityCommentResponseVO;
import com.dearbinge.data.pojo.commodity.vo.CommodityCommentVO;
import com.dearbinge.data.pojo.commodity.vo.CommodityDetailCommentVO;
import com.dearbinge.utils.ResultMsg;

/**
 * 商品评论 业务层接口
 *
 * @author wes
 * @date 2019/1/12
 */
public interface CommodityCommentService {

    /**
     * 根据ID查询
     * @param commodityCommentId 商品评论ID
     * @return vo
     */
    CommodityCommentResponseVO getById(Integer commodityCommentId);

    /**
     * 新增商品评价
     * @param commodityCommentVO 商品评价接受参数 vo
     * @return 影响行数
     */
    ResultMsg<String> insert(CommodityCommentVO commodityCommentVO);

    /**
     * 根据商品id查商品评价
     * @param commodityId 商品id
     * @param commentType 0：全部(默认)；1：好评；2：中评；3：差评；4：图片；5：追加评价
     * @param current 当前页
     * @param size 每页条数
     * @return 商品评价
     */
    CommodityDetailCommentVO listCommodityComment(Integer commodityId, Integer commentType, Integer current, Integer size);


    /**
     * 根据用户id查评价
     * @param userId 用户id
     * @param commentType 0：全部(默认)；1：好评；2：中评；3：差评；4：图片；5：追加评价
     * @param current 当前页
     * @param size 每页条数
     * @return 商品评价
     */
    Page listMyComment(Integer userId, Integer commentType, Integer current, Integer size);


    /**
     * 更新
     * @param content 内容
     * @param imgArray 图片数组
     * @param type 1：商家回复；2：买家追评评论；3：商家追加回复
     * @param commodityCommentId 评论id
     * @return 成功为1
     */
    ResultMsg<String> update(String content, String[] imgArray,Integer type,Integer commodityCommentId);

}
